package com.java.file.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * 文件
 * 
 * @author jl
 * @since 2020-10-07 10:31:35
 */
@Data
@TableName("file")
public class FileEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
    @TableId(type = IdType.INPUT)
    private String id;
	/**
	 * 相对路径
	 */
    @NotBlank(message = "相对路径不能为空")
    private String path;
	/**
	 * 文件名
	 */
    private String name;
	/**
	 * 后缀
	 */
    private String suffix;
	/**
	 * 大小|字节B
	 */
    private Integer size;
	/**
	 * 用途|枚举[FileUseEnum]：COURSE("C", "讲师"), TEACHER("T", "课程")
	 */
	@TableField(value = "`use`")
    private String use;
	/**
	 * 创建时间
	 */
    private Date createdAt;
	/**
	 * 修改时间
	 */
    private Date updatedAt;
	/**
	 * 已上传分片
	 */
    private Integer shardIndex;
	/**
	 * 分片大小|B
	 */
    private Integer shardSize;
	/**
	 * 分片总数
	 */
    private Integer shardTotal;
	/**
	 * 文件标识
	 */
	@TableField(value = "`key`")
    private String key;
	/**
	 * vod|阿里云vod
	 */
    private String vod;
	/**
	 * base64
	 */
	@TableField(exist = false)
	private String shard;

}
